<?php

namespace App\Providers;

use App\Models\ActivityDB\ValentinesDayNetwork\VdBlindBox;
use App\Models\ActivityDB\ValentinesDayNetwork\VdUser;
use App\Models\ActivityDB\ValentinesDayNetwork\VdUserScore;
use App\Repositories\AuctionRepository;
use App\Repositories\WarOrderRepository;
use App\Repositories\LuckyTreeRepository;
use App\Repositories\DataSummaryRepository;
use App\Repositories\WeekStarRepository;
use App\Repositories\AccountLogRepository;
use App\Repositories\AdminRechargeRepository;
use App\Repositories\AreaRepository;
use App\Repositories\BadgeRepository;
use App\Repositories\BlackListRepository;
use App\Repositories\ChatLogRepository;
use App\Repositories\ConfigRepository;
use App\Repositories\ContentRepository;
use App\Repositories\EmChatRepository;
use App\Repositories\GameEntranceRepository;
use App\Repositories\GameJackpotPersonRepository;
use App\Repositories\GameJackpotPlanDetailRepository;
use App\Repositories\GameJackpotPlanRepository;
use App\Repositories\GameJackpotRepository;
use App\Repositories\GameLogDayRepository;
use App\Repositories\GameLogRepository;
use App\Repositories\GameSpecialUserRepository;
use App\Repositories\GiftBoxPrizeRepository;
use App\Repositories\GiftRepository;
use App\Repositories\GiftTypeRepository;
use App\Repositories\GiftWeekRepository;
use App\Repositories\GiveGiftDayRepository;
use App\Repositories\GiveGiftRepository;
use App\Repositories\GoldPriceRepository;
use App\Repositories\GradeConfigRepository;
use App\Repositories\IndexNavRepository;
use App\Repositories\IpLimitRepository;
use App\Repositories\MicroBlogRepository;
use App\Repositories\ProductGroupRepository;
use App\Repositories\RewardDetailTypeRepository;
use App\Repositories\RewardItemRepository;
use App\Repositories\RewardRepository;
use App\Repositories\LisenceApplyRepository;
use App\Repositories\LisenceCommentRepository;
use App\Repositories\LisenceOrderLogRepository;
use App\Repositories\LisenceOrderRepository;
use App\Repositories\LisenceRepository;
use App\Repositories\LisenceTagRepository;
use App\Repositories\MallCategoriesRepository;
use App\Repositories\MallOrdersRepository;
use App\Repositories\MallProductsPriceRepository;
use App\Repositories\MallProductsRepository;
use App\Repositories\MessageRepository;
use App\Repositories\MqttRepository;
use App\Repositories\NobilityBuyRepository;
use App\Repositories\NobilityRepository;
use App\Repositories\NoticeRepository;
use App\Repositories\RedEnvelopeRepository;
use App\Repositories\ReportRepository;
use App\Repositories\RiskRepository;
use App\Repositories\RoomAccountRepository;
use App\Repositories\RoomJoinTimeRepository;
use App\Repositories\SoundEffectRepository;
use App\Repositories\TaskRepository;
use App\Repositories\UserDataRepository;
use App\Repositories\UserDeviceRepository;
use App\Repositories\UserLisenceRepository;
use App\Repositories\UserRechargeRepository;
use App\Repositories\UserRepository;
use App\Repositories\UserWithdrawRepository;
use App\Repositories\VirusBossRepository;
use App\Repositories\VirusChancePrizeRepository;
use App\Repositories\VirusNextPrizeRepository;
use App\Repositories\VirusPriceRepository;
use App\Repositories\VirusThisPrizeRepository;
use App\Repositories\VirusWinPrizeDetailRepository;
use App\Repositories\WeekStarHistoryRepository;
use App\Repositories\WinJackpotNextRepository;
use App\Repositories\WinJackpotRepository;
use App\Repositories\WinLogRepository;
use Illuminate\Support\ServiceProvider;
use App\Repositories\RecommendRepository;
use App\Repositories\VipRepository;

//主库数据仓库
use App\Repositories\AdminRepository;
use App\Repositories\PermissionRepository;

use App\Repositories\RoomRepository;
use App\Repositories\SociatyRepository;
use App\Repositories\SociatyPermissionRepository;
use App\Repositories\SociatyAdminRepository;
use App\Repositories\IndexRepository;
use App\Repositories\GoodNumberRepository;
use App\Repositories\MallRepository;
use App\Repositories\UserNewsRepository;
use App\Repositories\DemandRepository;
use App\Repositories\{AccountCheckRepository,
    AccountRepository,
    BlindDateRepository,
    ChannelRepository,
    ConnectPrizePoolRepository,
    DataStatisticsRepository,
    ExportRepository,
    GameSugarStatisticsRepository,
    GiftTagRepository,
    GiftWallRepository,
    HappyRepository,
    InsideUserRepository,
    MicrophoneRepository,
    AccessRepository,
    RankingRepository,
    RechargeConfigRepository,
    RedPacketRepository,
    SpecialUserRepository,
    StatisticsRepository,
    ThreeServiceCheckRepository,
    TruthDareRepository,
    UserAssetRepo,
    UserCommonWordsRepository,
    UserScoreRepository,
    VersionManagementRepository,
    GoodCodeRepository,
    CustomerServiceQuestionRepository,
    MallOrdersHistoryRepository,
    GetDataToExcelRepository,
    MallProductRarityTagRepository,
    MallProductSubCateRepository,
    MerchantRepository};
//预警系统
use App\Repositories\ErmBlackRemoveRepository;
use App\Repositories\ErmConfigRepository;
use App\Repositories\ErmPublicListRepository;
use App\Repositories\ErmGrayRepository;
use App\Repositories\ErmWhiteRepository;
use App\Repositories\ErmIndexRepository;

use App\Repositories\RoomPkRepository;
use App\Repositories\NobilityConfigRepository;
use App\Repositories\NobilityAuthRepository;
use App\Repositories\CrossRoomPkRepository;
use App\Repositories\CrossRoomPkBlackRepository;
use App\Repositories\CorporateAccountRepository;
use App\Repositories\BankCardRepository;
use App\Repositories\WithdrawWhitelistRepository;
use App\Repositories\OpenBannerRepository;
use App\Repositories\UserBanClassifyRepository;
use App\Repositories\UserUntieBanClassifyRepository;
use App\Repositories\SexAndLoveRepository;
use App\Repositories\FamilyRepository;
use App\Repositories\FlyingRepository;


class RepositoryServiceProvider extends ServiceProvider
{

    //register
    public function register()
    {
        //主库数据仓库
        $this->app->singleton('repo_gift_wall', GiftWallRepository::class);
        $this->app->singleton('repo_data_summary', DataSummaryRepository::class);
        $this->app->singleton('repo_task', TaskRepository::class);
        $this->app->singleton('repo_mqtt', MqttRepository::class);
        $this->app->singleton('repo_emchat', EmChatRepository::class);
        $this->app->singleton('repo_content', ContentRepository::class);
        $this->app->singleton('repo_report', ReportRepository::class);
        $this->app->singleton('repo_red_envelope', RedEnvelopeRepository::class);
        $this->app->singleton('repo_badge', BadgeRepository::class);
        $this->app->singleton('repo_notice', NoticeRepository::class);
        $this->app->singleton('repo_message', MessageRepository::class);
        $this->app->singleton('repo_room_account', RoomAccountRepository::class);
        $this->app->singleton('repo_risk', RiskRepository::class);
        $this->app->singleton('repo_black_list', BlackListRepository::class);
        $this->app->singleton('repo_area', AreaRepository::class);
        $this->app->singleton('repo_admin', AdminRepository::class);//引入管理员的repo
        $this->app->singleton('repo_permission', PermissionRepository::class);   //引入权限管理repo
        $this->app->singleton('repo_grade_config', GradeConfigRepository::class);   //引入爵位等级repo
        $this->app->singleton('repo_nobility', NobilityRepository::class);   //引入爵位repo
        $this->app->singleton('repo_give_gift', GiveGiftRepository::class);   //引入用户送礼repo
        $this->app->singleton('repo_give_gift_day', GiveGiftDayRepository::class);   //引入统计流水repo
        $this->app->singleton('repo_user', UserRepository::class);   //引入用户repo
        $this->app->singleton('repo_user_recharge', UserRechargeRepository::class);   //引入充值repo
        $this->app->singleton('repo_user_withdraw', UserWithdrawRepository::class);   //引入提现repo
        $this->app->singleton('repo_user_asset', UserAssetRepo::class);
        $this->app->singleton('repo_gift', GiftRepository::class);   //引入礼物repo
        $this->app->singleton('repo_gift_type', GiftTypeRepository::class);   //引入礼物分类repo
        $this->app->singleton('repo_gift_week', GiftWeekRepository::class);   //引入周星礼物repo
        $this->app->singleton('repo_win_jackpot', WinJackpotRepository::class);   //引入钓鱼本期奖池repo
        $this->app->singleton('repo_win_jackpot_next', WinJackpotNextRepository::class);   //引入钓鱼下期奖池repo
        $this->app->singleton('repo_config', ConfigRepository::class);   //引入配置repo
        $this->app->singleton('repo_microphone', MicrophoneRepository::class);   //限制上麦工具

        $this->app->singleton('repo_user_data', UserDataRepository::class);   //引入用户信息repo
        $this->app->singleton('repo_win_log', WinLogRepository::class);   //引入用户信息repo
        $this->app->singleton('repo_game_jackpot', GameJackpotRepository::class);   //引入新钓鱼repo
        $this->app->singleton('repo_game_jackpot_plan', GameJackpotPlanRepository::class);   //引入奖池方案repo
        $this->app->singleton('repo_game_jackpot_plan_detail', GameJackpotPlanDetailRepository::class);   //引入奖池方案详情repo
        $this->app->singleton('repo_game_jackpot_person', GameJackpotPersonRepository::class);   //引入奖池送礼详情repo
        $this->app->singleton('repo_game_special_user', GameSpecialUserRepository::class);   //引入新钓鱼独立奖池repo
        $this->app->singleton('repo_game_log', GameLogRepository::class);   //引入新钓鱼获奖详情repo
        $this->app->singleton('repo_game_log_day', GameLogDayRepository::class);   //引入新钓鱼获奖汇总repo
        $this->app->singleton('repo_virus_boss', VirusBossRepository::class);   //引入boss信息repo
        $this->app->singleton('repo_virus_this_prize', VirusThisPrizeRepository::class);   //引入boss本期奖池repo
        $this->app->singleton('repo_virus_next_prize', VirusNextPrizeRepository::class);   //引入boss下期奖池repo
        $this->app->singleton('repo_virus_chance_prize', VirusChancePrizeRepository::class);   //引入概率奖池repo
        $this->app->singleton('repo_virus_win_prize_detail', VirusWinPrizeDetailRepository::class);   //引入概率中奖详情repo
        $this->app->singleton('repo_virus_price', VirusPriceRepository::class);   //引入中奖统计repo
        $this->app->singleton('repo_gift_box_prize', GiftBoxPrizeRepository::class);   //引入盲盒奖池repo
        $this->app->singleton('repo_user_device', UserDeviceRepository::class);   //引入设备信息repo
        $this->app->singleton('repo_gold_price', GoldPriceRepository::class);   //引入小猫钓鱼消费记录repo
        $this->app->singleton('repo_channel', ChannelRepository::class);   //引入渠道repo
        $this->app->singleton('repo_nobility_buy', NobilityBuyRepository::class);   //引入爵位购买repo
        $this->app->singleton('repo_account', AccountRepository::class);
        $this->app->singleton('repo_account_log', AccountLogRepository::class);   //引入爵位购买repo
        $this->app->singleton('repo_admin_recharge', AdminRechargeRepository::class);   //引入管理员充值记录repo
        $this->app->singleton('repo_mall_categories', MallCategoriesRepository::class);   //引入商城分类repo
        $this->app->singleton('repo_mall_products', MallProductsRepository::class);   //引入商城产品repo
        $this->app->singleton('repo_mall_products_price', MallProductsPriceRepository::class);   //引入商城产品价格repo
        $this->app->singleton('repo_mall_orders', MallOrdersRepository::class);   //引入商城产品价格repo
        $this->app->singleton('repo_mall_orders_history', MallOrdersHistoryRepository::class);   //引入商城产品价格repo
        $this->app->singleton('repo_lisence', LisenceRepository::class);   //引入资质repo
        $this->app->singleton('repo_lisence_apply', LisenceApplyRepository::class);   //引入资质审核repo
        $this->app->singleton('repo_lisence_order', LisenceOrderRepository::class);   //引入资质订单repo
        $this->app->singleton('repo_lisence_order_log', LisenceOrderLogRepository::class);  //引入资质订单日志repo
        $this->app->singleton('repo_lisence_tag', LisenceTagRepository::class);   //引入资质标签repo
        $this->app->singleton('repo_lisence_comment', LisenceCommentRepository::class);   //引入资质评论repo
        $this->app->singleton('repo_user_lisence', UserLisenceRepository::class);   //引入用户资质repo
        $this->app->singleton('repo_room_join_time', RoomJoinTimeRepository::class);   //引入进入房间repo
        $this->app->singleton('repo_chat_log', ChatLogRepository::class);   //引入聊天日志repo
        $this->app->singleton('repo_ip_limit', IpLimitRepository::class);   //引入聊天日志repo
        $this->app->singleton('repo_game_entrance', GameEntranceRepository::class);   //引入游戏列表repo
        $this->app->singleton('repo_reward', RewardRepository::class);   //引入道具盒子
        $this->app->singleton('repo_reward_detail_type', RewardDetailTypeRepository::class);   //引入道具类型
        $this->app->singleton('repo_reward_item', RewardItemRepository::class);   //引入道具

        $this->app->singleton('repo_microblog', MicroBlogRepository::class);   //引入道具盒子
        $this->app->singleton('repo_product_group', ProductGroupRepository::class);   //引入积分商城
        $this->app->singleton('repo_index_nav', IndexNavRepository::class);   //引入金刚区列表
        $this->app->singleton('repo_week_star', WeekStarRepository::class);   //引入周星榜列表
        $this->app->singleton('repo_week_star_history', WeekStarHistoryRepository::class);   //引入周星榜列表
        $this->app->singleton('repo_good_code', GoodCodeRepository::class);   //靓号

        $this->app->singleton('repo_room', RoomRepository::class);//引入房间管理repo
        $this->app->singleton('repo_sociaty', SociatyRepository::class); //引入公会管理的repo
        $this->app->singleton('repo_sociaty_admin', SociatyAdminRepository::class); //引入公会管理员的repo
        $this->app->singleton('repo_sociaty_permission', SociatyPermissionRepository::class); //引入公会权限的repo
        $this->app->singleton('repo_index', IndexRepository::class); //引入首页的repo
        $this->app->singleton('repo_good_number', GoodNumberRepository::class); //引入靓号的repo
        $this->app->singleton('repo_mall', MallRepository::class); //引入个性商城的repo
        $this->app->singleton('repo_user_news', UserNewsRepository::class); //引入用户通知消息的repo
        $this->app->singleton('repo_demand', DemandRepository::class);   //引入派单数据仓库
        $this->app->singleton('repo_sound_effect', SoundEffectRepository::class);

        $this->app->singleton('repo_war_order', WarOrderRepository::class);
        $this->app->singleton('repo_auction', AuctionRepository::class);
        $this->app->singleton('repo_lucky_tree', LuckyTreeRepository::class);
        $this->app->singleton('repo_happy', HappyRepository::class);
        $this->app->singleton('repo_user_score', UserScoreRepository::class);
        $this->app->singleton('repo_data_statistics', DataStatisticsRepository::class);
        $this->app->singleton('repo_user_common_words', UserCommonWordsRepository::class);
        $this->app->singleton('repo_blind_date', BlindDateRepository::class);
        $this->app->singleton('repo_connect_prize_pool', ConnectPrizePoolRepository::class);
        $this->app->singleton('repo_customer_service_question', CustomerServiceQuestionRepository::class);
        $this->app->singleton('repo_truth_dare', TruthDareRepository::class);
        $this->app->singleton('repo_gift_tag', GiftTagRepository::class);
        $this->app->singleton('repo_export', ExportRepository::class);
        $this->app->singleton('repo_access', AccessRepository::class);
        $this->app->singleton('repo_recharge_config', RechargeConfigRepository::class);
        $this->app->singleton('repo_recommend', RecommendRepository::class);
        $this->app->singleton('repo_vip', VipRepository::class);
        $this->app->singleton('repo_mall_product_sub_cate', MallProductSubCateRepository::class);
        $this->app->singleton('repo_mall_product_rarity_tag', MallProductRarityTagRepository::class);
        $this->app->singleton('repo_red_packet', RedPacketRepository::class);
        $this->app->singleton('repo_statistics', StatisticsRepository::class);

        //活动
        $this->app->singleton('model_valentines_network_blind_box', VdBlindBox::class);
        $this->app->singleton('model_valentines_network_user', VdUser::class);
        $this->app->singleton('model_valentines_network_user_score', VdUserScore::class);


        // 糖果
        $this->app->singleton('repo_game_sugar_statistics', GameSugarStatisticsRepository::class);

        // app設置
        $this->app->singleton('repo_version_management', VersionManagementRepository::class);
        //资金统计校验
        $this->app->singleton('repo_account_check', AccountCheckRepository::class);
        //第三方服务校验
        $this->app->singleton('repo_three_service_check', ThreeServiceCheckRepository::class);
        $this->app->singleton('repo_get_data_to_excel', GetDataToExcelRepository::class);
        $this->app->singleton('repo_ranking', RankingRepository::class);

        //支付商户
        $this->app->singleton('repo_merchant', MerchantRepository::class);

        //预警系统
        $this->app->singleton('repo_erm_public_list', ErmPublicListRepository::class);
        $this->app->singleton('repo_erm_gray', ErmGrayRepository::class);
        $this->app->singleton('repo_erm_white', ErmWhiteRepository::class);
        $this->app->singleton('repo_erm_index', ErmIndexRepository::class);
        $this->app->singleton('repo_erm_config', ErmConfigRepository::class);
        $this->app->singleton('repo_erm_black_remove', ErmBlackRemoveRepository::class);


        //房间pk
        $this->app->singleton('repo_room_pk', RoomPkRepository::class);

        //爵位
        $this->app->singleton('repo_nobility_config', NobilityConfigRepository::class);
        $this->app->singleton('repo_nobility_auth', NobilityAuthRepository::class);

        // 内部账号
        $this->app->singleton('repo_inside_user', InsideUserRepository::class);

        //跨房间PK
        $this->app->singleton('repo_cross_room_pk', CrossRoomPkRepository::class);//引入跨房间管理repo
        $this->app->singleton('repo_cross_room_pk_black', CrossRoomPkBlackRepository::class);//引入跨房间黑名单管理repo


        //对公账号
        $this->app->singleton('repo_corporate_account', CorporateAccountRepository::class);
        //银行卡
        $this->app->singleton('repo_bank_card', BankCardRepository::class);
        $this->app->singleton('repo_withdraw_whitelist', WithdrawWhitelistRepository::class);
        $this->app->singleton('repo_open_banner', OpenBannerRepository::class);//二级开屏页
        $this->app->singleton('repo_user_ban_classify', UserBanClassifyRepository::class);//用户封禁分类
        $this->app->singleton('repo_user_untie_ban_classify', UserUntieBanClassifyRepository::class);//用户解除封禁分类
        $this->app->singleton('repo_erm_risk_device', \App\Repositories\ErmRiskDeviceRepository::class);
        $this->app->singleton('repo_erm_sex_and_love', SexAndLoveRepository::class);
        //家族系统
        $this->app->singleton('repo_family', FamilyRepository::class);
        $this->app->singleton('repo_special_user',SpecialUserRepository::class);

        $this->app->singleton('repo_flying',FlyingRepository::class);
    }
}
